<script>
// 1.1、 原型法设计模式
//
// 原型法的主要思想是，现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。
//
// 1.2、javascript的方法可以分为三类：
//
// a 类方法
//
// b 对象方法
//
// c 原型方法
function People(name)
{
  this.name=name;
  //对象方法
  this.Introduce=function(){
    alert("My name is "+this.name);
  }
}
//类方法
People.Run=function(){
  alert("I can run");
}
//原型方法
People.prototype.IntroduceChinese=function(){
  alert("我的名字是"+this.name);
}

//测试
var p1=new People("Windking");
p1.Introduce();
People.Run();
p1.IntroduceChinese();
//
// 1.3、给prototype添加属性
//
// 就如你在上面所看到的，prototype是一个对象，因此，你能够给它添加属性。你添加给prototype的属性将会成为使用这个构造函数创建的对象的通用属性。
// 1.4、用prototype给对象添加函数

function AClass(){
  this.Property = 1;
  this.Method = function(){
    alert(1);
  }
}
function AClass2(){
  this.Property2 = 2;
  this.Method2 = function(){
    alert(2);
  }
}
AClass2.prototype = new AClass();
AClass2.prototype.Property = 3;
AClass2.prototype.Method = function(){
  alert(4);
}
var obj = new AClass2();
alert(obj.Property);
obj.Method();
</script>
